class Vector:

    def __init__(self, lst): #构造函数中传入数组lst
        self._values = lst #使用私有变量_values

    def __getitem__(self, index):
        """取出向量第index个元素"""
        return self._values[index]

    # 返回向量长度(元素有多少)
    def __len__(self):
        return len(self._values)

    # 魔法方法，用于系统调用，返回一个格式化的字符串，例如print(Vector)，如果写了__str__则会调用__str__
    # 可以进入当前文件python命令行环境
    # >>> from playLA.Vector import Vector
    # >>> u = Vector([5,2])
    # >>> u
    # Vector([5,2])
    # >>> print(u)
    # (5, 2)
    def __repr__(self):
        return "Vector({})".format(self._values)

    # 魔法方法，用于用户调用
    def __str__(self):
        return "({})".format(", ".join(str(e) for e in self._values))